package cn.lutu.domain.service;

import cn.lutu.protocol.dto.InvoiceAddDTO;
import cn.lutu.protocol.vo.InvoiceVO;
import cn.lutu.protocol.vo.adminVO.AdminInvoiceVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @date 2023-06-03
 * @author luoyinhan
 * */
@Transactional
public interface InvoiceService {
    void addInvoice(InvoiceAddDTO invoiceAddDTO,Long id);

    void updateInvoice(Long id,String status);

    InvoiceVO selectByOrderId(Long orderId);

    List<InvoiceVO> selectByUserId(Long userId);

    List<InvoiceVO> selectByKeyword(String keyword,Long userId);

    List<AdminInvoiceVO> selectAllInvoices();

    void rebuildListCache();
}
